package entidades;

public class Posteo implements java.io.Serializable, Comparable<Posteo> {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8208304528647335042L;
	/*
	 * termino: referencia a un termino guardado en el vocabulario
	 * doc: referencia a un documento almancenado en el Motor de Busqueda
	 * term_frecuency: frecuencia del termino en el documento
	 */
	private Vocabulario termino;
	private Documento doc;
	private int term_frecuency;
	
	// Constructores
	public Posteo(){
		
	}
	
	public Posteo(Vocabulario termino, Documento doc, int term_frecuency) {
		this.termino = termino;
		this.doc = doc;
		this.term_frecuency = term_frecuency;
	}
	
	public Posteo(Vocabulario termino, Documento doc){
		this.termino = termino;
		this.doc = doc;
	}
	
	// Getters  Setters
	public Vocabulario getTermino() {
		return termino;
	}
	public void setTermino(Vocabulario termino) {
		this.termino = termino;
	}
	public Documento getDoc() {
		return doc;
	}
	public void setDoc(Documento doc) {
		this.doc = doc;
	}
	public int getTerm_frecuency() {
		return term_frecuency;
	}
	public void setTerm_frecuency(int term_frecuency) {
		this.term_frecuency = term_frecuency;
	}

	//CompareTo
	@Override
	public int compareTo(Posteo comparable) {
		if(termino.equals(comparable.getTermino()) && doc.equals(comparable.getDoc())){
			return 0;
		}
		return 1;
	}
	
	public String toString(){
		return termino.getTermino()+ ". " + doc.getUbicacion() + ""+ doc.getNombre();	
	}
}
